/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.employee.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.modules.sys.entity.Office;

/**
 * 打卡记录Entity
 * @author pan.zhou
 * @version 2017-07-19
 */
public class Checkinout extends DataEntity<Checkinout> {
	
	private static final long serialVersionUID = 1L;
	private String userid;		// userid
	private Date checktime;		// checktime
	private String checktype;		// checktype
	private String verifycode;		// verifycode
	private String sn;		// sn
	private String sensorid;		// sensorid
	private String workcode;		// workcode
	private String reserved;		// reserved
	private String snName;		// sn_name
	private String employeeName; //员工名称
	private String number; //员工编号
	private Date checkStartDate; //开始时间
	private Date checkEndDate;   //结束时间
	
	private Office company;        // 国家
    private Office office;      // 仓库
    
    private Employee employee; //关联员工
	
	public Checkinout() {
		super();
	}

	public Checkinout(String id){
		super(id);
	}

	public Checkinout(String employeeNumer, Date starTime, Date endTime) {
		this.number = employeeNumer;
		this.checkStartDate = starTime;
		this.checkEndDate = endTime;
	}

    @Length(min=0, max=11, message="userid长度必须介于 0 和 11 之间")
	public String getUserid() {
		return userid;
	}

	public void setUserid(String userid) {
		this.userid = userid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getChecktime() {
		return checktime;
	}

	public void setChecktime(Date checktime) {
		this.checktime = checktime;
	}
	
	@Length(min=0, max=10, message="checktype长度必须介于 0 和 10 之间")
	public String getChecktype() {
		return checktype;
	}

	public void setChecktype(String checktype) {
		this.checktype = checktype;
	}
	
	@Length(min=0, max=11, message="verifycode长度必须介于 0 和 11 之间")
	public String getVerifycode() {
		return verifycode;
	}

	public void setVerifycode(String verifycode) {
		this.verifycode = verifycode;
	}
	
	@Length(min=0, max=11, message="sn长度必须介于 0 和 11 之间")
	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}
	
	@Length(min=0, max=10, message="sensorid长度必须介于 0 和 10 之间")
	public String getSensorid() {
		return sensorid;
	}

	public void setSensorid(String sensorid) {
		this.sensorid = sensorid;
	}
	
	@Length(min=0, max=40, message="workcode长度必须介于 0 和 40 之间")
	public String getWorkcode() {
		return workcode;
	}

	public void setWorkcode(String workcode) {
		this.workcode = workcode;
	}
	
	@Length(min=0, max=40, message="reserved长度必须介于 0 和 40 之间")
	public String getReserved() {
		return reserved;
	}

	public void setReserved(String reserved) {
		this.reserved = reserved;
	}
	
	@Length(min=0, max=80, message="sn_name长度必须介于 0 和 80 之间")
	public String getSnName() {
		return snName;
	}

	public void setSnName(String snName) {
		this.snName = snName;
	}

    
    public String getEmployeeName() {
        return employeeName;
    }

    
    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    
    public String getNumber() {
        return number;
    }

    
    public void setNumber(String number) {
        this.number = number;
    }

    
    public Date getCheckStartDate() {
        return checkStartDate;
    }

    
    public void setCheckStartDate(Date checkStartDate) {
        this.checkStartDate = checkStartDate;
    }

    
    public Date getCheckEndDate() {
        return checkEndDate;
    }

    
    public void setCheckEndDate(Date checkEndDate) {
        this.checkEndDate = checkEndDate;
    }

    
    public Office getCompany() {
        return company;
    }

    
    public void setCompany(Office company) {
        this.company = company;
    }

    
    public Office getOffice() {
        return office;
    }

    
    public void setOffice(Office office) {
        this.office = office;
    }

    public Employee getEmployee() {
        return employee;
    }

    public void setEmployee(Employee employee) {
        this.employee = employee;
    }
    
    
	
}